Add AmazingHand dual-hand support(tested with left only) with teleope…#1
Open
mraiddanial-hub wants to merge 15 commits intomsf4-0:mainfrom
Open
Add AmazingHand dual-hand support(tested with left only) with teleope…#1mraiddanial-hub wants to merge 15 commits intomsf4-0:mainfrom
mraiddanial-hub wants to merge 15 commits intomsf4-0:mainfrom
Conversation
…rator and run-policy command - Added lerobot_robot_amazinghand robot driver with dual-hand support (left/right) - Added lerobot_teleoperator_amazinghandtracker with MediaPipe hand tracking - Implemented lerobot-run-policy command for running trained policies without recording - Added configurable MediaPipe confidence thresholds (default 0.7) - Fixed motor ID mapping for right hand (left IDs - 10) - Added MuJoCo visualization support with LEROBOT_SHOW_MUJOCO_VIEWER - Created comprehensive setup documentation in AMAZINGHAND_SETUP.md
new file: RECALIBRATION_GUIDE.md new file: calibrate_motor_offsets.py new file: delete_calibration_files.py new file: expand_calibration_ranges.py new file: main_rs_backup.txt modified: pyproject.toml new file: requirements-amazinghand.txt modified: src/lerobot/__init__.py modified: src/lerobot/cameras/opencv/camera_opencv.py new file: src/lerobot/configs/robot/amazinghand/mjcf/config.json modified: src/lerobot/policies/act/configuration_act.py modified: src/lerobot/robots/__init__.py new file: src/lerobot/robots/lerobot_robot_amazinghand/lerobot_robot_amazinghand/AH_Left/mjcf/config.json new file: src/lerobot/robots/lerobot_robot_amazinghand/lerobot_robot_amazinghand/AH_Right/mjcf/config.json new file: src/lerobot/robots/lerobot_robot_amazinghand/lerobot_robot_amazinghand/__init__.py new file: src/lerobot/robots/lerobot_robot_amazinghand/lerobot_robot_amazinghand/amazinghand.mdx modified: src/lerobot/robots/lerobot_robot_amazinghand/lerobot_robot_amazinghand/amazinghand.py new file: src/lerobot/robots/lerobot_robot_amazinghand/lerobot_robot_amazinghand/config/l_hand.toml new file: src/lerobot/robots/lerobot_robot_amazinghand/lerobot_robot_amazinghand/config_amazinghand.py new file: src/lerobot/robots/lerobot_robot_amazinghand/setup.py modified: src/lerobot/robots/stretch3/configuration_stretch3.py modified: src/lerobot/robots/utils.py new file: src/lerobot/scripts/5gtest/import lerobot.py new file: src/lerobot/scripts/5gtest/inspect_so101.py new file: src/lerobot/scripts/5gtest/leader_so101_sender.py new file: src/lerobot/scripts/5gtest/pc1_camera_client.py new file: src/lerobot/scripts/5gtest/pc1_leader_sender.py new file: src/lerobot/scripts/5gtest/test_import_so101.py modified: src/lerobot/scripts/lerobot_calibrate.py modified: src/lerobot/scripts/lerobot_record.py modified: src/lerobot/scripts/lerobot_replay.py new file: src/lerobot/scripts/lerobot_run_policy.py modified: src/lerobot/scripts/lerobot_teleoperate.py new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/__init__.py new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/amazinghandtracker.py new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/config_amazinghandtracker.py new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/inverse_kinematics.py new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/config.json new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/setup.py modified: src/lerobot/teleoperators/utils.py modified: src/lerobot/utils/import_utils.py modified: src/lerobot/utils/visualization_utils.py
…ial-hub/msf_lerobot into msf_lerobot_amazinghand
modified: webrtc_teleoperation/pc2_follower/robot_receiver_udp.py modified: webrtc_teleoperation/signaling_server/server.py
…0608_04.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/custom_servo_horn.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/distal.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/distal_shell.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/finger_frame_1.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/finger_frame_2.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/gimbal.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/l_hand_plate.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/l_wrist_interface.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/link.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/m2_rod_l18.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/parallel_pin_2_x_10__fee063fca0c8b40e46bbc4ffff61d999.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/parallel_pin_2_x_16__da4b7ddbe9d803fe3fbc70f2e822b99b.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/ph_pan_head_screw_m2x0_40_x_10__2803432263e518bbd16bccbbef8784ed.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/plain_washer_large_grade_a_m2_5__9a369f0dc77bf9c598cdf3fb468977e5.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/proximal.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/proximal_shell.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/rotule_ball.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/rotule_lever.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/scs0009.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/spacer.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/std00333_plast_tcb_torx_2_5x8__configuration_copy_of_default.stl new file: src/lerobot/configs/robot/amazinghand/mjcf/assets/std00447_thermoplastique_m2_5x6__configuration_default.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/bushing_0608_04.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/custom_servo_horn.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/distal.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/distal_shell.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/finger_frame_1.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/finger_frame_2.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/gimbal.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/l_hand_plate.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/l_wrist_interface.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/link.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/m2_rod_l18.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/parallel_pin_2_x_10__fee063fca0c8b40e46bbc4ffff61d999.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/parallel_pin_2_x_16__da4b7ddbe9d803fe3fbc70f2e822b99b.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/ph_pan_head_screw_m2x0_40_x_10__2803432263e518bbd16bccbbef8784ed.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/plain_washer_large_grade_a_m2_5__9a369f0dc77bf9c598cdf3fb468977e5.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/proximal.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/proximal_shell.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/rotule_ball.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/rotule_lever.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/scs0009.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/spacer.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/std00333_plast_tcb_torx_2_5x8__configuration_copy_of_default.stl new file: src/lerobot/teleoperators/lerobot_teleoperator_amazinghandtracker/lerobot_teleoperator_amazinghandtracker/mjcf/assets/std00447_thermoplastique_m2_5x6__configuration_default.stl
…ial-hub/msf_lerobot into msf_lerobot_amazinghand
modified: webrtc_teleoperation/pc1_leader/leader_sender_udp.py modified: webrtc_teleoperation/pc2_follower/robot_receiver_udp.py
modified: webrtc_teleoperation/pc1_leader/leader_sender_udp.py modified: webrtc_teleoperation/pc2_follower/camera_server_webrtc.py
modified: webrtc_teleoperation/pc2_follower/robot_receiver_udp.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…rator and run-policy command
What this does
Explain what this PR does. Feel free to tag your PR with the appropriate label(s).
Examples:
SECTION TO REMOVE BEFORE SUBMITTING YOUR PR
Note: Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR. Try to avoid tagging more than 3 people.
Note: Before submitting this PR, please read the contributor guideline.